package com.zsix.system.service;

import com.alibaba.fastjson.JSONObject;
import com.zsix.common.dto.controllerParams.StatAnalysisParams;
import com.zsix.common.entity.process.ProcessManage;
import com.zsix.common.entity.taskAssignee.GenerWork;

import java.util.HashMap;
import java.util.List;

public interface IProcessManageService {
    /**
     * 获取已经启动的流程实例
     * @param title
     * @param processKey
     * @param state
     * @return
     */
    public List<ProcessManage> getProcessManageList(String title, String processKey, String state);

    /**
     * 获取已经启动的流程实例的分页数据
     * @param processManage
     * @return
     */
    List<ProcessManage> getProcessManageListPage(ProcessManage processManage);

    /**
     * 获取流程实例补充参数
     * @param processManage
     * @return
     */
    HashMap<String,Object> getManageParams(ProcessManage processManage);

    /**
     * 获取所有任务分页
     * @param processManage
     * @return
     */

    List<GenerWork> getTaskManageListPage(ProcessManage processManage);

    /**
     * 获取流程统计分析
     * @param statAnalysisParams
     * @return
     */
    HashMap<String,Object> getStatAnalysisData(StatAnalysisParams statAnalysisParams);
    /**
     * 获取当前系统登陆人发起的流程列表
     * @param params
     * @return
     */
    HashMap<String,Object> getMyStartListPage(JSONObject params);

    /**
     * 获取我审核的数据
     * @param params
     * @return
     */
    HashMap<String,Object> getMyProcessPage(JSONObject params);
}
